home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.5 Applications 2004 April / SGI IRIX 6.5 Applications 2004 April.iso / dist / mpi.idb / usr / include / mpi_ext.h.z / mpi_ext.h
C/C++ Source or Header  |  2003-06-17  |  6KB  |  207 lines

  1. /* $Id: mpi_ext.h,v 1.11 2002/11/20 17:14:05 tds Exp $ */
  2. /*
  3.  *    (C) COPYRIGHT SILICON GRAPHICS, INC.
  4.  *    UNPUBLISHED PROPRIETARY INFORMATION.
  5.  *    ALL RIGHTS RESERVED.
  6.  */
  7. #ifndef MPIEXT_H_INCLUDED
  8. #define MPIEXT_H_INCLUDED
  9.  
  10. #ifdef __linux
  11. #include <sys/types.h>
  12. #else
  13. #include <sgidefs.h>
  14. #endif
  15.  
  16. #if defined(__cplusplus)
  17. extern "C" {
  18. #endif
  19. /*
  20.  * This header file contains defines for some MPI
  21.  * extensions unique to the SGI implementation.
  22.  */
  23. /* Retries allocating mpi per proc headers for collective calls */
  24. #define MPI_SGI_STATS_HDR_PROC_CRETRY 1    
  25.  
  26. /* Retries allocating mpi per host headers for collective calls */
  27. #define MPI_SGI_STATS_HDR_HOST_CRETRY 2    
  28.  
  29. /* Retries allocating mpi per proc headers for pt2pt calls */
  30. #define MPI_SGI_STATS_HDR_PROC_PRETRY 3    
  31.  
  32. /* Retries allocating mpi per host headers for pt2pt calls */
  33. #define MPI_SGI_STATS_HDR_HOST_PRETRY 4    
  34.  
  35. /* Retries allocating mpi per proc buffers for collective calls */
  36. #define MPI_SGI_STATS_BUF_PROC_CRETRY 5    
  37.  
  38. /* Retries allocating mpi per host buffers for collective calls */
  39. #define MPI_SGI_STATS_BUF_HOST_CRETRY 6    
  40.  
  41. /* Retries allocating mpi per proc  buffers for pt2pt calls */
  42. #define MPI_SGI_STATS_BUF_PROC_PRETRY 7    
  43.  
  44. /* Retries allocating mpi per host  buffers for pt2pt calls */
  45. #define MPI_SGI_STATS_BUF_HOST_PRETRY 8    
  46.  
  47.  
  48. /* Send requests using shared memory for collective calls */
  49. #define MPI_SGI_STATS_SENDS_COLL_SHMEM 9
  50.  
  51. /* Send requests using shared memory for pt2pt calls */
  52. #define MPI_SGI_STATS_SENDS_PT2PT_SHMEM 10
  53.  
  54. /* Data buffers sent using shared memory for pt2pt calls */
  55. #define MPI_SGI_STATS_DATABUFS_PT2PT_SHMEM 11
  56.  
  57. /* Bytes sent using single copy for pt2pt calls */
  58. #define MPI_SGI_STATS_SENDS_PT2PT_SINGLE_COPY 12
  59.  
  60. /* Data buffers sent using shared memory for collective calls */
  61. #define MPI_SGI_STATS_DATABUFS_COLL_SHMEM 13
  62.  
  63. /* Bytes sent using single copy for collective calls */
  64. #define MPI_SGI_STATS_SENDS_COLL_SINGLE_COPY 14
  65.  
  66. /* Message headers sent using shared memory for collective calls */
  67. #define MPI_SGI_STATS_HDRS_COLL_SHMEM 15
  68.  
  69. /* Message headers sent using shared memory for pt2pt calls */
  70. #define MPI_SGI_STATS_HDRS_PT2PT_SHMEM 16
  71.  
  72. /* Bytes sent using shared memory for pt2pt calls */
  73. #define MPI_SGI_STATS_BYTES_PT2PT_SHMEM 17
  74. #define MPI_SGI_BYTES_PT2PT_SHMEM 17
  75.  
  76. /* Bytes sent using shared memory for collective calls */
  77. #define MPI_SGI_STATS_BYTES_COLL_SHMEM 18
  78. #define MPI_SGI_BYTES_COLL_SHMEM 18
  79.  
  80. /* Send requests using hippibypass for collective calls */
  81. #define MPI_SGI_STATS_SENDS_COLL_HIPPI 19
  82.  
  83. /* Send requests using hippi bypass for pt2pt calls */
  84. #define MPI_SGI_STATS_SENDS_PT2PT_HIPPI 20
  85.  
  86. /* Data buffers sent using hippi bypass for pt2pt calls */
  87. #define MPI_SGI_STATS_DATABUFS_PT2PT_HIPPI 21
  88.  
  89. /* Data buffers sent using hippi bypass for collective calls */
  90. #define MPI_SGI_STATS_DATABUFS_COLL_HIPPI 22
  91.  
  92. /* Message headers sent using hippi bypass for collective calls */
  93. #define MPI_SGI_STATS_HDRS_COLL_HIPPI 23
  94.  
  95. /* Message headers sent using hippi bypass for pt2pt calls */
  96. #define MPI_SGI_STATS_HDRS_PT2PT_HIPPI 24
  97.  
  98. /* Bytes sent using hippi bypass for pt2pt calls */
  99. #define MPI_SGI_STATS_BYTES_PT2PT_HIPPI 25
  100. #define MPI_SGI_BYTES_PT2PT_HIPPI 25
  101.  
  102. /* Bytes sent using hippi bypass for collective calls */
  103. #define MPI_SGI_STATS_BYTES_COLL_HIPPI 26
  104. #define MPI_SGI_BYTES_COLL_HIPPI 26
  105.  
  106. /* Send requests using tcp/ip for collective calls */
  107. #define MPI_SGI_STATS_SENDS_COLL_TCP 27
  108.  
  109. /* Send requests using tcp/ip for pt2pt calls */
  110. #define MPI_SGI_STATS_SENDS_PT2PT_TCP 28
  111.  
  112. /* Data buffers sent using tcp/ip for pt2pt calls */
  113. #define MPI_SGI_STATS_DATABUFS_PT2PT_TCP 29
  114.  
  115. /* Data buffers sent using tcp/ip for collective calls */
  116. #define MPI_SGI_STATS_DATABUFS_COLL_TCP 30
  117.  
  118. /* Message headers sent using tcp/ip for collective calls */
  119. #define MPI_SGI_STATS_HDRS_COLL_TCP 31
  120.  
  121. /* Message headers sent using tcp/ip for pt2pt calls */
  122. #define MPI_SGI_STATS_HDRS_PT2PT_TCP 32
  123.  
  124. /* Bytes sent using tcp/ip for pt2pt calls */
  125. #define MPI_SGI_STATS_BYTES_PT2PT_TCP 33
  126. #define MPI_SGI_BYTES_PT2PT_TCP 33
  127.  
  128. /* Bytes sent using tcp/ip for collective calls */
  129. #define MPI_SGI_STATS_BYTES_COLL_TCP 34
  130. #define MPI_SGI_BYTES_COLL_TCP 34
  131.  
  132. /* Send requests using gsn bypass for collective calls */
  133. #define MPI_SGI_STATS_SENDS_COLL_GSN 35
  134.  
  135. /* Send requests using gsn bypass for pt2pt calls */
  136. #define MPI_SGI_STATS_SENDS_PT2PT_GSN 36
  137.  
  138. /* Data buffers sent using gsn bypass for pt2pt calls */
  139. #define MPI_SGI_STATS_DATABUFS_PT2PT_GSN 37
  140.  
  141. /* Data buffers sent using gsn bypass for collective calls */
  142. #define MPI_SGI_STATS_DATABUFS_COLL_GSN 38
  143.  
  144. /* Message headers sent using gsn bypass for collective calls */
  145. #define MPI_SGI_STATS_HDRS_COLL_GSN 39
  146.  
  147. /* Message headers sent using gsn bypass for pt2pt calls */
  148. #define MPI_SGI_STATS_HDRS_PT2PT_GSN 40
  149.  
  150. /* Bytes sent using gsn bypass for pt2pt calls */
  151. #define MPI_SGI_STATS_BYTES_PT2PT_GSN 41
  152. #define MPI_SGI_BYTES_PT2PT_GSN 41
  153.  
  154. /* Bytes sent using gsn bypass for collective calls */
  155. #define MPI_SGI_STATS_BYTES_COLL_GSN 42
  156. #define MPI_SGI_BYTES_COLL_GSN 42
  157.  
  158. /* Send requests using myrinet for collective calls */
  159. #define MPI_SGI_STATS_SENDS_COLL_GM 43
  160.  
  161. /* Send requests using myrinet for pt2pt calls */
  162. #define MPI_SGI_STATS_SENDS_PT2PT_GM 44
  163.  
  164. /* Data buffers sent using myrinet for pt2pt calls */
  165. #define MPI_SGI_STATS_DATABUFS_PT2PT_GM 45 
  166.  
  167. /* Data buffers sent using myrinet for collective calls */
  168. #define MPI_SGI_STATS_DATABUFS_COLL_GM 46
  169.  
  170. /* Message headers sent using myrinet for collective calls */
  171. #define MPI_SGI_STATS_HDRS_COLL_GM 47
  172.  
  173. /* Message headers sent using myrinet for pt2pt calls */
  174. #define MPI_SGI_STATS_HDRS_PT2PT_GM 48
  175.  
  176. /* Bytes sent using myrinet for pt2pt calls */
  177. #define MPI_SGI_STATS_BYTES_PT2PT_GM 49
  178. #define MPI_SGI_BYTES_PT2PT_GM 49
  179.  
  180. /* Bytes sent using myrinet for collective calls */
  181. #define MPI_SGI_STATS_BYTES_COLL_GM 50
  182. #define MPI_SGI_BYTES_COLL_GM 50
  183.  
  184. /* Largest value defined in above statistics */
  185. #define MPI_SGI_STAT_MAX 50
  186.  
  187. #define MPI_SGI_STAT_SUPPORTED 1
  188. #define MPI_SGI_STAT_UNSUPPORTED -1
  189. #define MPI_SGI_STAT_UNDEFINED -2
  190.  
  191. /* Prototypes */
  192. void MPI_SGI_stat_resetall(void);
  193. void MPI_SGI_stat_reset(int, unsigned int *);
  194. void MPI_SGI_stat_support(unsigned int, unsigned int *, int *);
  195. #ifdef _CRAY
  196. void MPI_SGI_stat_get(unsigned int, unsigned int *, unsigned long *, unsigned long *);
  197. #else
  198. void MPI_SGI_stat_get(unsigned int, unsigned int *, __uint64_t *, __uint64_t *);
  199. #endif
  200. int MPI_SGI_stat_print(int, const char *, const char *);
  201.  
  202. #if defined(__cplusplus)
  203. }
  204. #endif
  205.  
  206. #endif
  207.